package org.jeecg.modules.business.transfer.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.modules.business.transfer.entity.WmsMoveReceiptMaterial;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Description: 移库单 物料明细VO
 * @Author: jeecg-boot
 * @Date:   2023-08-11
 * @Version: V1.0
 */
@Data
@ApiModel(value="wms_move_receiptPage对象", description="移库单")
public class WmsMoveReceiptDetailVO {

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
	@ApiModelProperty(value = "主键")
	private String id;
	/**创建人*/
	@ApiModelProperty(value = "创建人")
	private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "创建日期")
	private Date createTime;
	/**更新人*/
	@ApiModelProperty(value = "更新人")
	private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "更新日期")
	private Date updateTime;
	/**所属部门*/
	@ApiModelProperty(value = "所属部门")
	private String sysOrgCode;
	/**物料id*/
	@Excel(name = "物料id", width = 15)
	@ApiModelProperty(value = "物料id")
	private String wmsBasicMaterialId;
	/**批次号*/
	@Excel(name = "批次号", width = 15)
	@ApiModelProperty(value = "批次号")
	private String batchCode;
	/**移库数量*/
	@Excel(name = "移库数量", width = 15)
	@ApiModelProperty(value = "移库数量")
	private BigDecimal transferQuantity;
	/**调出库区id*/
	@Excel(name = "调出库区id", width = 15, dictTable = "wms_basic_warehouse_area", dicText = "name", dicCode = "id")
	@ApiModelProperty(value = "调出库区id")
	private String transferFromAreaId;
	/**调出库位id*/
	@Excel(name = "调出库位id", width = 15, dictTable = "wms_basic_warehouse_area_location", dicText = "name", dicCode = "id")
	@ApiModelProperty(value = "调出库位id")
	private String transferFromLocationId;
	/**调入库位id*/
	@Excel(name = "调入库位id", width = 15, dictTable = "wms_basic_warehouse_area_location", dicText = "name", dicCode = "id")
	@ApiModelProperty(value = "调入库位id")
	private String transferToLocationId;
	/**调入库区id*/
	@Excel(name = "调入库区id", width = 15, dictTable = "wms_basic_warehouse_area", dicText = "name", dicCode = "id")
	@ApiModelProperty(value = "调入库区id")
	private String transferToAreaId;
	/**辅数量*/
	@Excel(name = "辅数量", width = 15)
	@ApiModelProperty(value = "辅数量")
	private BigDecimal assistQuantity;
	/**钢卷号*/
	@Excel(name = "钢卷号", width = 15)
	@ApiModelProperty(value = "钢卷号")
	private String steelCoilNumber;
	/**外径*/
	@Excel(name = "外径", width = 15)
	@ApiModelProperty(value = "外径")
	private String outsideDiameter;
	/**宽度*/
	@Excel(name = "宽度", width = 15)
	@ApiModelProperty(value = "宽度")
	private String width;
	/**长度*/
	@Excel(name = "长度", width = 15)
	@ApiModelProperty(value = "长度")
	private String length;
	/**厚度*/
	@Excel(name = "厚度", width = 15)
	@ApiModelProperty(value = "厚度")
	private String thickness;
	/**牌号*/
	@Excel(name = "牌号", width = 15)
	@ApiModelProperty(value = "牌号")
	private String shopSign;
	/**外观等级*/
	@Excel(name = "外观等级", width = 15)
	@ApiModelProperty(value = "外观等级")
	private String appearanceGrade;
	/**铁损*/
	@Excel(name = "铁损", width = 15)
	@ApiModelProperty(value = "铁损")
	private String ironLoss;
	/**实测片厚*/
	@Excel(name = "实测片厚", width = 15)
	@ApiModelProperty(value = "实测片厚")
	private String measuredThickness;
	/**实测铁损*/
	@Excel(name = "实测铁损", width = 15)
	@ApiModelProperty(value = "实测铁损")
	private String measuredIronLoss;
	/**硅钢等级*/
	@Excel(name = "硅钢等级", width = 15)
	@ApiModelProperty(value = "硅钢等级")
	private String siliconGrade;
	/**刻痕等级*/
	@Excel(name = "刻痕等级", width = 15)
	@ApiModelProperty(value = "刻痕等级")
	private String score;
	/**原始净重*/
	@Excel(name = "原始净重", width = 15)
	@ApiModelProperty(value = "原始净重")
	private String originalWeight;
	/**实称净重*/
	@Excel(name = "实称净重", width = 15)
	@ApiModelProperty(value = "实称净重")
	private String measuredWeight;
	/**纸筒*/
	@Excel(name = "纸筒", width = 15)
	@ApiModelProperty(value = "纸筒")
	private String paperTube;
	/**毛重*/
	@Excel(name = "毛重", width = 15)
	@ApiModelProperty(value = "毛重")
	private String grossWeight;
	/**序列号*/
	@Excel(name = "序列号", width = 15)
	@ApiModelProperty(value = "序列号")
	private String serialNumber;
	/**销售订单号*/
	@Excel(name = "销售订单号", width = 15)
	@ApiModelProperty(value = "销售订单号")
	private String saleOrderNumber;
	/**销售订单行号*/
	@Excel(name = "销售订单行号", width = 15)
	@ApiModelProperty(value = "销售订单行号")
	private String saleOrderLineNumber;
	/**生产工单号*/
	@Excel(name = "生产工单号", width = 15)
	@ApiModelProperty(value = "生产工单号")
	private String productNumber;
	/**生产工单行号*/
	@Excel(name = "生产工单行号", width = 15)
	@ApiModelProperty(value = "生产工单行号")
	private String productLineNumber;
	/**上游单据*/
	@Excel(name = "上游单据", width = 15)
	@ApiModelProperty(value = "上游单据")
	private String upstreamDocuments;
	/**上游单号*/
	@Excel(name = "上游单号", width = 15)
	@ApiModelProperty(value = "上游单号")
	private String upstreamNumber;
	/**上游行号*/
	@Excel(name = "上游行号", width = 15)
	@ApiModelProperty(value = "上游行号")
	private String upstreamLineNumber;
	/**来源系统*/
	@Excel(name = "来源系统", width = 15)
	@ApiModelProperty(value = "来源系统")
	private String originalSystem;
	/**来源单据*/
	@Excel(name = "来源单据", width = 15)
	@ApiModelProperty(value = "来源单据")
	private String originalDocuments;
	/**来源系统单号*/
	@Excel(name = "来源系统单号", width = 15)
	@ApiModelProperty(value = "来源系统单号")
	private String originalSystemNumber;
	/**来源系统行号*/
	@Excel(name = "来源系统行号", width = 15)
	@ApiModelProperty(value = "来源系统行号")
	private String originalSystemLineNumber;
	/**移库单id*/
	@ApiModelProperty(value = "移库单id")
	private String wmsMoveReceiptId;
	/**逻辑删除*/
	@Excel(name = "逻辑删除", width = 15)
	@ApiModelProperty(value = "逻辑删除")
	@TableLogic
	private Integer delFlag;
	/**租户id*/
	@Excel(name = "租户id", width = 15)
	@ApiModelProperty(value = "租户id")
	private Integer tenantId;
	@ApiModelProperty(value = "规格型号")
	private String specification;
	@ApiModelProperty(value = "库存单位id")
	@Dict(dictTable = "wms_basic_unit",dicCode = "id",dicText = "name")
	private String wmsBasicUnitId;
	@ApiModelProperty(value = "辅单位id")
	@Dict(dictTable = "wms_basic_unit",dicCode = "id",dicText = "name")
	private String unitAssistId;
	@ApiModelProperty(value = "备注")
	private String remark;
	@ApiModelProperty(value = "物料id")
	@TableField(exist = false)
	private String materialId;
	/**额外参数*/
	@ApiModelProperty(value = "额外参数")
	private String extraText;

	private String materialCode;

	private String materialName;

	@ApiModelProperty(value = "移出库区编码")
	private String transferFromAreaCode;

	@ApiModelProperty(value = "移出库位编码")
	private String transferFromLocationCode;

	@ApiModelProperty(value = "移出库区名称")
	private String transferFromAreaName;

	@ApiModelProperty(value = "移出库位名称")
	private String transferFromLocationName;

	/**
	 * 前端使用
	 */
	@ApiModelProperty(value = "任务物料id")
	private String taskMaterialId;

}
